//
//  AFFRichTextBase.h
//  AnyfishApp
//
//  Created by Bob Lee on 14-4-18.
//  Copyright (c) 2014年 Anyfish. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreText/CoreText.h>

#define kAttributeName @"AFFRichTextAttribute"
#define kRichTextLineSpace     4.0f
#define kRichTextFont          [UIFont systemFontOfSize:14]

#define  kRichColor_HLight      [UIColor colorWithARGBString:@"#d8d9db"]
#define  kRichColor_HLight_Alpha      [UIColor colorWithARGBString:@"#d8d9db" alpha:0.5]

@interface AFFRichTextBase : NSObject

//-- 文本单元类型
@property (nonatomic) AFFRichTextType textType;

//-- 原始文本
@property (nonatomic,copy) NSString *originalText;

//-- 原始字体
@property (nonatomic,strong) UIFont *originalFont;

//-- 文本所在位置
@property (nonatomic) NSRange range;

//-- 是否响应触摸
@property (nonatomic) BOOL isResponseTouch;
/** 是否发起者 */
@property (nonatomic) BOOL isHandler;

@property (nonatomic, assign) S64 code; // 操作者

@property (nonatomic, assign) S32 actionType; // 所属操作类型，点击后用于判断是跳转到什么界面

@property (nonatomic, strong) UIColor *textColor; // 特殊文本颜色

@property (nonatomic, assign) BOOL isHLight; ///< 点击后特殊显示背景

@property (nonatomic, strong) NSNumber *isDrawAsyc;    ///< 是否异步绘制（图片控制上）

/** 
 * @function
 * 说明 替换基本文本样式
 * @param attributedString 控制文本显示的属性集合
 
 * @return
*/
- (void)replaceTextWithAttributedString:(NSMutableAttributedString*) attributedString;

/**
 * @function
 * 说明 绘制内容
 * @param rect 可绘制的范围
 
 * @return (YES 表示这个函数自己绘制，NO表示CoreText绘制)
*/
- (BOOL)drawRunWithRect:(CGRect)rect;

- (BOOL)drawRunWithView:(UIView*)view rect:(CGRect)rect;

- (void)drawHLightBackground:(CGRect)rect context:(CGContextRef)context;

@end


